package com.reservation.service;

import java.util.List;
import java.util.Map;

/**
 * 数据统计分析服务接口
 */
public interface StatisticsService {
    
    /**
     * 获取系统概览统计数据
     * 
     * @return 包含用户数、展览数、预约数、解说员数的统计数据
     */
    Map<String, Object> getOverviewStatistics();
    
    /**
     * 获取预约类型分布数据
     * 
     * @return 预约类型分布数据列表
     */
    List<Map<String, Object>> getReservationTypeStatistics();
    
    /**
     * 获取预约状态分布数据
     * 
     * @return 预约状态分布数据列表
     */
    List<Map<String, Object>> getReservationStatusStatistics();
    
    /**
     * 获取近30天预约趋势数据
     * 
     * @return 预约趋势数据列表
     */
    List<Map<String, Object>> getReservationTrendStatistics();
    
    /**
     * 获取热门展览排行数据
     * 
     * @param limit 限制数量
     * @return 热门展览排行数据列表
     */
    List<Map<String, Object>> getPopularExhibitionStatistics(int limit);
    
    /**
     * 获取热门解说员排行数据
     * 
     * @param limit 限制数量
     * @return 热门解说员排行数据列表
     */
    List<Map<String, Object>> getPopularGuideStatistics(int limit);
}